Artificial intelligence and machine learning techniques such as neural networks and rule-based expert systems have been known in the art for many years, and are applied in many different fields. In particular, in the field of machine vision and image processing a particular type of neural network known as a convolutional neural network (CNN) is often used, and such networks achieve fast and accurate results in image recognition and classification systems (see e.g. http://en.wikipedia.org/wiki/Convolutional_neural_network for a review of the state of the art), and it has been reported (ibid.) that the performance of convolutional neural networks is now close to that of humans, although they still struggle with identifying objects that are small and thin. However CNNs can be capable of outperforming humans in classifying images of objects into fine-grained categories, for example images of different breeds of dog or bird.